The present invention generally relates to data analysis and, more particularly, is related to a system and method for improving linearity and reducing digitization artifacts in data analysis systems.
With advancements in technology, new data analysis systems are continuously being introduced to improve data accuracy and/or quality prior to data use. Examples of data analysis systems include, among others, oscilloscopes, spectrum analyzers and network analyzers.
Linearity of internal components is of particular importance to data analysis systems to ensure that analysis is performed on accurate data. Typical data analysis systems amplify and/or convert received data prior to use. Typically, the amplification and/or conversion is performed within an analog portion of the data analysis system. Non-linearities may be introduced to data during amplification and/or conversion. The non-linearities may be attributed to many different sources. As an example, non-linearity may be added to data signals during conversion from an analog signal to a digital signal by an analog-to-digital converter (ADC). Introduction of non-linearities to data signals by the ADC may result in data degradation.
Non-linearities introduced by the ADC may be attributed to noise within the ADC, process variation and inconsistencies, or any of multiple other conditions. A first example of non-linearity is integral non-linearity, which is characterized by a transfer curve of the ADC varying from an ideal transfer curve, on the macro level. A second example of non-linearity is differential non-linearity, which is characterized by a transfer curve of the ADC varying from an ideal transfer curve, on the micro level.
FIG. 1A and FIG. 1B are graphs of transfer functions associated with an 8-bit ADC. In FIG. 1A and FIG. 1B, the x-axis of each of the graphs represents input voltage values, while the y-axis of each of the graphs represents outputted code words. Ideally, the 8-bit ADC has two hundred and fifty six (256) codes that are evenly spaced, as illustrated by the plot of the ideal transfer function shown in FIG. 1A.
FIG. 1B is a graph of the transfer function of FIG. 1A, wherein integral non-linearity has been introduced by the ADC. As shown by FIG. 1B, the actual ADC transfer curve 10 varies from the ideal ADC transfer curve 20. The difference between the actual ADC transfer curve 10 and the ideal ADC transfer curve 20, namely, the integral linear error, indicates that a large accuracy error has been introduced by the non-linearity.
Displaying and/or representing data by a data analysis system, after degradation by the ADC, such as via plotting transfer functions, illustrates non-linearity attributed to the ADC. Digital code words representing outputs of the ADC are typically plotted on a display to allow a user of the data analysis system to view the ADC output.
Non-uniform resolution of the output may result in a display of the digital code words having gaps or steps, otherwise known in the art as digitization artifacts, between plotted points that represent outputs of the ADC. Non-uniform resolution of the output may also be attributed to a non-uniform input to the ADC. It is desirable to correct for non-linearities attributed by the ADC prior to use and/or display of data outputted by the ADC, thereby resulting in a uniform resolution of code words displayed by the data analysis system.
In light of the foregoing, the present invention generally relates to a system for improving linearity of data outputted from an analog-to-digital converter and reducing digitization artifacts. Generally, the system utilizes a noise generator for generating noise and adding the noise to at least one code word that is introduced to the system, wherein the at least one code word comprises a unitary portion and a fractional portion, the noise being added to the fractional portion of the at least one code word. A storage device is also located within the system for storing the at least one code word, and a high threshold and a low threshold for each of the at least one code word. The storage device is capable of outputting the high threshold and the low threshold of the at least one code word as a result of receiving the unitary portion of the at least one code word, wherein the low threshold and the high threshold, in combination with the fractional portion, are utilized to derive linear digital data having a uniform resolution.
The present invention can also be viewed as providing a method for improving linearity of data outputted from an analog-to-digital converter and reducing digitization artifacts. In this regard, during a normal mode, the method can be broadly summarized by the following steps: adding noise to a code word outputted from an analog-to-digital converter, wherein the code word comprises a unitary portion and a fractional portion, the noise being added to the fractional portion of the code word; determining a low threshold and a high threshold via use of the unitary portion of the code word; and utilizing the low threshold and the high threshold, in combination with the fractional portion, to derive linear digital data having a uniform resolution.
Alternatively, during a high-resolution mode, the method can be broadly summarized by the following steps: averaging a series of code words outputted from an analog-to-digital converter, resulting in an averaged code word having a unitary portion and a fractional portion; adding a noise portion to the fractional portion of the averaged code word; determining a low threshold and a high threshold via use of the unitary portion of the averaged code word; and utilizing the low threshold and the high threshold, in combination with the fractional portion, to derive linear digital data having a uniform resolution.